package cn.rkylin.oms.warehouse.stockGoods.service;

import cn.rkylin.oms.warehouse.stockGoods.vo.StockGoodsExportVO;
import com.github.pagehelper.PageInfo;

import cn.rkylin.oms.warehouse.stockGoods.vo.StockGoodsVO;

import java.util.List;
import java.util.Map;


/** 库存汇总查询接口
 *
 * @author zhangheng
 * @date 2018-01-23
 */
public interface IStockGoodsService{

    /**
     * queryStockList：根据查询条件获取库存信息列表. <br/>
     *
     * @param page
     * @param length
     * @param queryParamVO
     * @return
     * @throws Exception
     */
    public PageInfo<StockGoodsVO> queryStockGoodsList(int page, int length, StockGoodsVO queryParamVO) throws Exception;

    /**
     * getStockGoodsLocaStorInfo:查询商品本地库各个仓库存储情况
     *
     * @param queryParamVO
     * @return
     * @throws Exception
     */
    public List<StockGoodsVO> getStockGoodsLocaStorInfo(StockGoodsVO queryParamVO) throws Exception;

    /**
     * getStockGoodsExtStorInfo:查询商品第三方库各个仓库存储情况
     *
     * @param queryParamVO
     * @return
     * @throws Exception
     */
    public List<StockGoodsVO> getStockGoodsExtStorInfo(StockGoodsVO queryParamVO) throws Exception;

    /**
     * getStockGoodsDetail:根据goodsID获取本地和第三方库存信息. <br/>
     *
     * @author zhangheng
     * @param goodsId
     * @return
     * @throws Exception
     */
    public StockGoodsVO getStockGoodsDetail(String goodsId) throws Exception;

    public List<StockGoodsExportVO> getExportList(Map reqMap, String statement) throws Exception;
}